package cn.mumzone.pos.presenter.contract;



import java.util.List;

import cn.mumzone.basic.mvp.BasePresenter;
import cn.mumzone.basic.mvp.BaseView;
import cn.mumzone.pos.model.BillDetailEntity;
import cn.mumzone.pos.model.GoodsEntity;
import cn.mumzone.pos.model.MemberEntity;
import cn.mumzone.pos.model.ServerEntity;
import cn.mumzone.pos.model.SettleCalculatePriceEntity;
import cn.mumzone.pos.model.SettleDiscountAreaEntity;
import cn.mumzone.pos.model.TicketEntity;
import cn.mumzone.pos.model.TimeCardEntity;

/**
 * Created by lijiateng on 2018/12/12.
 */

public interface SettleAccountContract {

    interface View extends BaseView {

        void resetScanCodeStatus();

        void setMemberInfo(MemberEntity memberEntity);

        void setSettleInfo(SettleCalculatePriceEntity calculatePriceEntity);

        void setDiscountAreaInfo(SettleDiscountAreaEntity discountAreaEntity);

        void onSettleSuccess();

        void showPayDialog(String payType);

        void showWaitingDialog(boolean isAlipay);

        void showBankWaitingDialog();

        void showEraseDialog(double ceilingAmount);

        void doPrintAfterSettleSuccess(BillDetailEntity billDetailEntity);

        void showCashChangeDialog(String cashChange, String cashInput);

        void openDrawer();

        void showSettleError(int code, String msg);

        void clearCouponCheck(int discountType);

        void showGetBillError();

        void showCouponSelectedChange(int discountType, List<TicketEntity> ticketList);

        void showTimeCardSelectedChange(List<TimeCardEntity> timesCards);

        void showSearchMemberSuccess();

        void showAddMemberSuccess();

        void showServerList(List<ServerEntity> servers);

        void showTimeChanged(long time);

        void showAddedPay();

        void showMemberAccountInfo(String companyPrice, String shopPrice);

        void showRefreshDone();

        void showRedeemGoodsChange(List<GoodsEntity> integralList);

        void showSunMiPayNetError();
    }

    interface Presenter extends BasePresenter<View> {

        void executeScanCode(String scanCode);

        void getMemberOrBillInfo();

        void settleOrderWithCashChange(String cashChange, String cashInput);

        void searchMember(String text);

        void doQuicklyAddMember(String phone, String name, String sex, String level);

        void loadShopUserList();

        void executeFacePay();

        void querySmPayOrderInfo(boolean iSilent);

    }


}
